Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Live coding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Live_coding"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.tmh.player.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Live_coding rootpage-Live_coding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Live coding</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with <a href="Interactive_programming" title="Interactive programming">Interactive programming</a>.</div>

<p><b>Live coding</b>,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> sometimes referred to as <b>on-the-fly programming</b>,<sup id="cite_ref-auto_2-0" class="reference"><a href="#cite_note-auto-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <b>just in time programming</b> and <b>conversational programming</b>, makes programming an integral part of the running program.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>It is most prominent as a <a href="Performing_arts" title="Performing arts">performing arts</a> form and a <a href="Creativity_technique" class="mw-redirect" title="Creativity technique">creativity technique</a> centred upon the writing of <a href="Source_code" title="Source code">source code</a> and the use of <a href="Interactive_programming" title="Interactive programming">interactive programming</a> in an <a href="Improvisation" title="Improvisation">improvised</a> way. Live coding is often used to create sound and image based <a href="Digital_media" title="Digital media">digital media</a>, as well as light systems, improvised <a href="Dance" title="Dance">dance</a> and poetry,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> though is particularly prevalent in <a href="Computer_music" title="Computer music">computer music</a> usually as improvisation, although it could be combined with <a href="Algorithmic_composition" title="Algorithmic composition">algorithmic composition</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Typically, the process of writing source code is made visible by projecting the computer screen in the audience space, with ways of visualising the code an area of active research.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Live coding techniques are also employed outside of performance, such as in producing sound for film<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> or audiovisual work for interactive art installations.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> Also, the interconnection between computers makes possible to realize this practice networked in group.
</p><p>The figure of <b>live coder</b> is who performs the act of live coding, usually "artists who want to learn to code, and coders who want to express themselves"<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> or in terms of Wang &amp; Cook the "programmer/performer/composer".<sup id="cite_ref-auto_2-1" class="reference"><a href="#cite_note-auto-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Live coding is also an increasingly popular technique in programming-related lectures and conference presentations, and has been described as a "best practice" for computer science lectures by <a href="Mark_Guzdial" title="Mark Guzdial">Mark Guzdial</a>.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Techniques">Techniques</h2></div>
<p>A range of techniques have been developed and appropriated for the purposes of live coding.
</p>
<div class="mw-heading mw-heading3"><h3 id="Representation_and_manipulation_of_time">Representation and manipulation of time</h3></div>
<p>The specific affordances of time-based media and live interaction with code has led to a number of novel developments and uses in programming language design. Through mutual embedding of imperative and declarative subsystems, the programming language <a href="SuperCollider" title="SuperCollider">SuperCollider</a><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> permitted to build a library that allows incomplete and provisional specifications which can be rewritten at runtime.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p><p>The <a href="ChucK" title="ChucK">ChucK</a> language introduced an approach to "strongly timed" programming in 2002, embedding precision timing into control flow through a concise syntax.
</p><p>"Temporal recursion" was a term initially coined in relation to the <a href="Impromptu_(programming_environment)" title="Impromptu (programming environment)">Impromptu</a> programming environment. Technical elements within a programming environment continue to locate compressors and recursion solutions, but timing had been a major issue. While the general form of a temporal recursion, being any asynchronous function recursion through time, is available to any event driven system, Impromptu has placed a special emphasis on this particular design pattern,<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> making it the centre piece of the concurrency architecture on that platform. Temporal recursion had repeatedly been used in <a href="SuperCollider" title="SuperCollider">SuperCollider</a> and has since been implemented in the <a href="Fluxus_(programming_environment)" title="Fluxus (programming environment)">Fluxus</a> environment.
</p><p>Another functional approach to the representation of time is shown in the <a href="Tidal_(livecoding)" class="mw-redirect" title="Tidal (livecoding)">Tidal</a> pattern <a href="Domain-specific_language" title="Domain-specific language">DSL</a>,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> which represents patterns as combinators operating over functions of time, similar to techniques in <a href="Functional_reactive_programming" title="Functional reactive programming">functional reactive programming</a>.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Multi-user_programming_and_shared_memory">Multi-user programming and shared memory</h3></div>
<p>Multi-user programming has developed in the context of group music-making, through the long development of the <i>Republic</i> system developed and employed by members of the network band <i>PowerBooks Unplugged</i>.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> Republic is built into the SuperCollider language, and allows participants to collaboratively write live code that is distributed across the network of computers. There are similar efforts in other languages, such as the distributed tuple space used in the Impromptu language.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> Additionally Overtone, Impromptu and Extempore support multi-user sessions, in which any number of programmers can intervene across the network in a given runtime process.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> The practice of writing code in group can be done in the same room through a local network or from remote places accessing a common server. Terms like laptop band, laptop orchestra, collaborative live coding or collective live coding are used to frame a networked live coding practice both in a local or remote way.
</p>
<div class="mw-heading mw-heading2"><h2 id="Organizations">Organizations</h2></div>
<p>TOPLAP (The (Temporary|Transnational|Terrestrial|Transdimensional) Organisation for the (Promotion|Proliferation|Permanence|Purity) of Live (Algorithm|Audio|Art|Artistic) Programming) is an informal organization formed in February 2004 to bring together the various communities that had formed around live coding environments.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> The TOPLAP manifesto asserts several requirements for a TOPLAP compliant performance, in particular that performers' screens should be projected and not hidden.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>
</p><p>On-the-fly promoted live coding practice between 2020-2022. This was a project co-funded by the Creative European program and run in Hangar, ZKM, Ljudmila and Creative Code Utrecht.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Research">Research</h2></div>
<p>A number of research projects and research groups have been created to explore live coding, often taking interdisciplinary approaches bridging the humanities and sciences. First efforts to both develop live coding systems and embed the emerging field in the broader theoretical context happened in the research project Artistic Interactivity in Hybrid Networks from 2005 to 2008, funded by the <a href="Deutsche_Forschungsgemeinschaft" class="mw-redirect" title="Deutsche Forschungsgemeinschaft">German Research Foundation</a>.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</p><p>Further, the Live Coding Research Network was funded by the UK <a href="Arts_and_Humanities_Research_Council" title="Arts and Humanities Research Council">Arts and Humanities Research Council</a> for two years from February 2014, supporting a range of activities including symposia, workshops and an annual international conference called International Conference on Live Coding (ICLC).<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Examples_of_live_coding_environments">Examples of live coding environments</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */


.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}


/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 10em;">
<ul><li><a href="ChucK" title="ChucK">ChucK</a></li>
<li><a href="Csound" title="Csound">Csound</a></li>
<li><a href="Extempore_(software)" title="Extempore (software)">Extempore</a></li>
<li><a href="Fluxus_(programming_environment)" title="Fluxus (programming environment)">Fluxus</a></li>
<li>Glicol</li>
<li><a href="Impromptu_(programming_environment)" title="Impromptu (programming environment)">Impromptu</a></li>
<li><a href="Ixi_lang" title="Ixi lang">ixi lang</a></li>
<li><a href="Max_(software)" title="Max (software)">Max</a></li>
<li><a href="Pharo" title="Pharo">Pharo</a></li>
<li><a href="Pure_Data" title="Pure Data">Pure Data</a></li>
<li><a href="Scratch_(programming_language)" title="Scratch (programming language)">Scratch</a></li>
<li><a href="Sonic_Pi" title="Sonic Pi">Sonic Pi</a></li>
<li><a href="SuperCollider" title="SuperCollider">SuperCollider</a></li>
<li><a href="Tidal_(livecoding)" class="mw-redirect" title="Tidal (livecoding)">TidalCycles</a></li>
<li>Sardine <a rel="nofollow" class="external autonumber" href="https://sardine.raphaelforment.fr/">[2]</a></li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Algorave" title="Algorave">Algorave</a>—event where music and/or visuals are generated from algorithms, generally live coded</li>
<li><a href="Demoscene" title="Demoscene">Demoscene</a>—subculture around coding audiovisual presentations (demos)</li>
<li><a href="Exploratory_programming" title="Exploratory programming">Exploratory programming</a>—the practice of building software as a way to understand its requirements and structure</li>
<li><a href="Interactive_programming" title="Interactive programming">Interactive programming</a>—programming practice of using live coding in software development</li>
<li><a href="NIME" class="mw-redirect" title="NIME">NIME</a>—academic and artistic conference on advances in music technology, sometimes featuring live coding performances and research presentations</li>
<li><a href="Creative_coding" title="Creative coding">Creative coding</a>—programming approach to create something expressive</li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Collins, N., McLean, A., Rohrhuber, J. &amp; Ward, A. (2003), "<a rel="nofollow" class="external text" href="http://akustik.hfbk.net/publications/LiveCodingInLaptopPerformance.pdf">Live Coding in Laptop Performance</a>", <i>Organised Sound</i> 8(3): 321–30. <style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1017%2FS135577180300030X">10.1017/S135577180300030X</a></span>
</li>
<li id="cite_note-auto-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-auto_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-auto_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Wang G. &amp; Cook P. (2004) <a rel="nofollow" class="external text" href="http://soundlab.cs.princeton.edu/publications/on-the-fly_nime2004.pdf">"On-the-fly Programming: Using Code as an Expressive Musical Instrument"</a>, In <i>Proceedings of the 2004 International Conference on New Interfaces for Musical Expression (NIME)</i> (New York: NIME, 2004).</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Alan Blackwell, Alex McLean, James Noble, Jochen Otto, and Julian Rohrhuber, "Collaboration and learning through live coding (Dagstuhl Seminar 13382)", Dagstuhl Reports 3 (2014), no. 9, 130–168.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Magnusson, T. (2013). <a rel="nofollow" class="external text" href="https://liveprogramming.github.io/2013/papers/thor.pdf">The Threnoscope. A Musical Work for Live Coding Performance</a>. In Live 2013. First International Workshop on Live Programming.</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="http://news.bbc.co.uk/1/hi/technology/8221235.stm">"Tech Know: Programming, meet music"</a>. BBC News. 2009-08-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-25</span></span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">Collins, N. (2003) "<a rel="nofollow" class="external text" href="https://wiki.brown.edu/confluence/download/attachments/74258672/Collins,+Generative+Music.pdf">Generative Music and Laptop Performance</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140514102233/https://wiki.brown.edu/confluence/download/attachments/74258672/Collins,+Generative+Music.pdf">Archived</a> 2014-05-14 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>", <i>Contemporary Music Review</i> 22(4):67–79.</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">McLean, A., Griffiths, D., Collins, N., and Wiggins, G. (2010). <a rel="nofollow" class="external text" href="http://yaxu.org/visualisation-of-live-code/">Visualisation of live code</a>. In Electronic Visualisation and the Arts London 2010.</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFRohrhuber2008" class="citation book cs1">Rohrhuber, Julian (2008). <a rel="nofollow" class="external text" href="http://akustik.hfbk.net/publications/rohrhuber_artificial_natural_historical.pdf"><i>Artificial, Natural, Historical in Transdisciplinary Digital Art. Sound, Vision and the New Screen</i></a> <span class="cs1-format">(PDF)</span>. Springer Berlin Heidelberg. pp.&nbsp;<span class="nowrap">60–</span>70.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.creativeapplications.net/scripts/communion-cinder-scripts-events-special/">"Communion by Universal Everything and Field.io: interview"</a>. 24 May 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">5 February</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFBell" class="citation web cs1">Bell, Sarah. <a rel="nofollow" class="external text" href="http://www.britishscienceassociation.org/blog/live-coding-brings-programming-to-life-an-interview-with-alex-mac">"Live coding brings programming to life - an interview with Alex McLean"</a>. <i>British Science Association</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2 March</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFGuzdial2011" class="citation web cs1">Guzdial, Mark (August 2011). <a rel="nofollow" class="external text" href="http://computinged.wordpress.com/2011/08/01/what-students-get-wrong-when-building-computational-physics-models-in-python-cabellero-thesis-part-2/">"What students get wrong when building computational physics models in Python: Cabellero thesis part 2"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">5 February</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">James McCartney (1996), SuperCollider: a new real time synthesis language, ICMC Proceedings, 1996.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">Julian Rohrhuber, Alberto de Campo, and Renate Wieser (2005), Algorithms today - Notes on Language Design for Just In Time Programming, Proceedings of International Computer Music Conference (Barcelona), ICMC, 2005, pp. 455–458.</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">Sorensen, A &amp; Gardner, H (2010) "<a rel="nofollow" class="external text" href="http://eprints.qut.edu.au/55712/1/sorensen_ow_2010.pdf">Programming With Time: Cyberphysical Programming In Impromptu, In proceedings of the ACM Splash Conference 2010</a>"</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFMcLean2014" class="citation book cs1">McLean, Alex (2014). "Making programming languages to dance to: Live Coding with Tidal". <a rel="nofollow" class="external text" href="https://github.com/yaxu/Tidal/blob/master/doc/farm/farm.pdf?raw=true"><i>In proceedings of the 2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design</i></a> <span class="cs1-format">(PDF)</span>. Gothenburg.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: location missing publisher (link)</span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite id="CITEREFMcLean2013" class="citation web cs1">McLean, Alex (2013-08-02). <a rel="nofollow" class="external text" href="https://yaxu.org/tidal/">"Tidal homepage"</a>. <i>Alex McLean</i>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho, and H. Hölzl (2007). <a rel="nofollow" class="external text" href="http://www.wertlos.org/articles/Purloined_letters.pdf">Purloined letters and distributed persons</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160303192832/http://www.wertlos.org/articles/Purloined_letters.pdf">Archived</a> 2016-03-03 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. In Music in the Global Village Conference 2007.</span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">Sorensen, A. (2010). <a rel="nofollow" class="external text" href="http://impromptu.moso.com.au/extras/icmc2010.pdf">A distributed memory for networked livecoding performance</a>. In Proceedings of International Computer Music Conference 2010.</span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">Sorensen, A. (2005). <a rel="nofollow" class="external text" href="http://eprints.qut.edu.au/31056/">Impromptu&nbsp;: an interactive programming environment for composition and performance, In proceedings of the Australasian Computer Music Conference 2005</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text">Ward, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N., and Alexander, A. (2004). <a rel="nofollow" class="external text" href="http://art.runme.org/1107861145-2780-0/livecoding.pdf">Live algorithm programming and a temporary organisation for its promotion</a>. In Goriunova, O. and Shulgin, A., editors, read_me - Software Art and Cultures.</span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://toplap.org/wiki/ManifestoDraft">"ManifestoDraft"</a>. <i>Toplap.org</i>.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://onthefly.space/">"On-the-fly project"</a>. <i>onthefly.space</i>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text">"Artistic Interactivity in Hybrid Networks" (2016) <a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20160303215643/http://www.uni-koeln.de/phil-fak/muwi/c10/index.html">[1]</a> --- Wayback Machine archive</span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://gtr.ukri.org/projects?ref=AH%2FL007266%2F1">"Live Coding Network"</a>. <i>Gtr.ukri.org</i>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li>Andrews, Robert. “<a rel="nofollow" class="external text" href="https://www.wired.com/science/discoveries/news/2006/07/71248">Real DJs Code Live</a>.” <i>Wired</i> (online), 7 March 2006.</li>
<li>Brown, Andrew R. “<a rel="nofollow" class="external text" href="http://journal.media-culture.org.au/0612/03-brown.php">Code Jamming</a>.” <i>M/C Journal</i> 9/6 (December 2006).</li>
<li>Magnusson, Thor. "<a rel="nofollow" class="external text" href="http://www.mitpressjournals.org/doi/pdf/10.1162/COMJ_a_00216">Herding Cats: Observing Live Coding in the Wild</a>." "Computer Music Journal" Spring 2014, Vol. 38, No. 1, pp.&nbsp;8–16.</li>
<li>Ramsay, Stephen. “<a rel="nofollow" class="external text" href="https://vimeo.com/9790850">Algorithms are Thoughts, Chainsaws are Tools</a>.” Critical Code Studies Workshop, March 2010. A short film on live coding and the TOPLAP manifesto.</li>
<li>Sorensen, Andrew and Henry Gardner. “<a rel="nofollow" class="external text" href="http://impromptu.moso.com.au/extras/sorensen_ow_2010.pdf">Programming With Time: Cyber-physical programming with Impromptu</a>.” 22 September 2010.</li>
<li>Di Próspero, Carolina. "<a rel="nofollow" class="external text" href="http://www.revistacontenido.com/wp-content/uploads/2015/02/art%C3%ADculo-3-%C2%B7-Carolina-Di-Prospero.pdf">Live coding. Arte computacional en proceso</a>." <i>Contenido. Arte, Cultura y Ciencias Sociales</i> 2015, Vol. 5, pp.&nbsp;5–19.</li>
<li>ICLC 2015. "<a rel="nofollow" class="external text" href="https://zenodo.org/collection/user-iclc2015">Proceedings of the First International Conference on Live Coding</a>." Leeds, UK.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://toplap.org/">Official TOPLAP website</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130104152439/http://vivo2012.cenart.tv/index.html">/*vivo*/ symposium on live coding</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20161017084702/http://www.livecodenetwork.org/">Live Code Research Network</a></li>
<li><a rel="nofollow" class="external text" href="http://iclc.toplap.org/">International Conference on Live Coding</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-08" href="https://en.wikipedia.org/wiki/?title=Live_coding&amp;oldid=1304830173">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>